type val_func = float -> float
external c_fminbr : float -> float -> val_func -> float -> float = "c_fminbr"

let fminbr a b f tol = 
  assert(tol > 0.);
  assert(a < b);
  c_fminbr a b f tol
